package cn.imu.config;

import java.net.URL;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

public class XMLConfig {
    private Document doc;

    public XMLConfig(String path){
        try {
            URL url = this.getClass().getClassLoader().getResource(path);
            SAXReader reader = new SAXReader();
            doc = reader.read(url);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public Document getDocument(){
        return doc;
    }

    public String getString(String path) throws Exception{
        Node node =doc.selectSingleNode(path);
        if(node!=null)
            return doc.selectSingleNode(path).getText();
        else
            throw new Exception(path + " not exists. ");
    }

    public int getInt(String path) throws Exception{
        Node node =doc.selectSingleNode(path);
        if(node!=null)
            return Integer.parseInt(doc.selectSingleNode(path).getText());
        else
            throw new Exception(path + " not exists. ");
    }

    @SuppressWarnings("unchecked")
    public List<Node> selectNodes(String path){
        return (List<Node>)doc.selectNodes(path);
    }




}